package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 检查详情对象 CheckDetailed
 *
 * @author ruoyi
 * @date 2023-07-04
 */


@TableName("CheckDetailed")
@ApiModel(value = "CheckDetailed对象", description = "检查详情")
public class CheckDetailed implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @Excel(name = "id")
    @ApiModelProperty("id")
    @TableId(value = "Id", type = IdType.AUTO)
    private Long Id;

    /**
     * 病历id
     */
    @Excel(name = "病历id")
    @ApiModelProperty("病历id")
    @TableField("MedicalId")
    private Long MedicalId;

    /**
     * 检查项目id
     */
    @Excel(name = "检查项目id")
    @ApiModelProperty("检查项目id")
    @TableField("CheckProjId")
    private Long CheckProjId;

    /**
     * 执行科室id
     */
    @Excel(name = "执行科室id")
    @ApiModelProperty("执行科室id")
    @TableField("DeptId")
    private Long DeptId;

    /**
     * 开立医生id
     */
    @Excel(name = "开立医生id")
    @ApiModelProperty("开立医生id")
    @TableField("FromUserId")
    private String FromUserId;

    /**
     * 开立时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开立时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开立时间")
    @TableField("CreationTime")
    private Date CreationTime;

    /**
     * 检查目的和要求
     */
    @ApiModelProperty("检查目的和要求")
    @TableField("Position")
    private String Position;

    /**
     * 检查状态1-已开立未交费2-已交费未检查3-已检查无结果4-有结果
     */
    @Excel(name = "检查状态1-已开立未交费2-已交费未检查3-已检查无结果4-有结果")
    @ApiModelProperty("检查状态1-已开立未交费2-已交费未检查3-已检查无结果4-有结果")
    @TableField("CheckState")
    private Long CheckState;

    /**
     * 单价
     */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    @TableField("Price")
    private BigDecimal Price;

    /**
     * 检查时间
     */
    @ApiModelProperty("检查时间")
    @TableField("InspectTime")
    private Date InspectTime;

    /**
     * 检查结果
     */
    @Excel(name = "检查结果")
    @ApiModelProperty("检查结果")
    @TableField("Result")
    private String Result;

    /**
     * 结果时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结果时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("结果时间")
    @TableField("ResultTime")
    private Date ResultTime;

    /**
     * 结果录入人员id
     */
    @ApiModelProperty("结果录入人员id")
    @TableField("EnterUserId")
    private Long EnterUserId;

    /**
     * 检查人员id
     */
    @ApiModelProperty("检查人员id")
    @TableField("CheckUserId")
    private Long CheckUserId;

    /**
     * 删除标记
     */
    @ApiModelProperty("删除标记")
    @TableField("DelMark")
    private Long DelMark;

    @JsonProperty("Id")
    public Long getId() {
        return Id;
    }

    public void setId(Long Id) {
        this.Id = Id;
    }

    @JsonProperty("MedicalId")
    public Long getMedicalId() {
        return MedicalId;
    }

    public void setMedicalId(Long MedicalId) {
        this.MedicalId = MedicalId;
    }

    @JsonProperty("CheckProjId")
    public Long getCheckProjId() {
        return CheckProjId;
    }

    public void setCheckProjId(Long CheckProjId) {
        this.CheckProjId = CheckProjId;
    }

    @JsonProperty("DeptId")
    public Long getDeptId() {
        return DeptId;
    }

    public void setDeptId(Long DeptId) {
        this.DeptId = DeptId;
    }

    @JsonProperty("FromUserId")
    public String getFromUserId() {
        return FromUserId;
    }

    public void setFromUserId(String FromUserId) {
        this.FromUserId = FromUserId;
    }

    @JsonProperty("CreationTime")
    public Date getCreationTime() {
        return CreationTime;
    }

    public void setCreationTime(Date CreationTime) {
        this.CreationTime = CreationTime;
    }

    @JsonProperty("Position")
    public String getPosition() {
        return Position;
    }

    public void setPosition(String Position) {
        this.Position = Position;
    }

    @JsonProperty("CheckState")
    public Long getCheckState() {
        return CheckState;
    }

    public void setCheckState(Long CheckState) {
        this.CheckState = CheckState;
    }

    @JsonProperty("Price")
    public BigDecimal getPrice() {
        return Price;
    }

    public void setPrice(BigDecimal Price) {
        this.Price = Price;
    }

    @JsonProperty("InspectTime")
    public Date getInspectTime() {
        return InspectTime;
    }

    public void setInspectTime(Date InspectTime) {
        this.InspectTime = InspectTime;
    }

    @JsonProperty("Result")
    public String getResult() {
        return Result;
    }

    public void setResult(String Result) {
        this.Result = Result;
    }

    @JsonProperty("ResultTime")
    public Date getResultTime() {
        return ResultTime;
    }

    public void setResultTime(Date ResultTime) {
        this.ResultTime = ResultTime;
    }

    @JsonProperty("EnterUserId")
    public Long getEnterUserId() {
        return EnterUserId;
    }

    public void setEnterUserId(Long EnterUserId) {
        this.EnterUserId = EnterUserId;
    }

    @JsonProperty("CheckUserId")
    public Long getCheckUserId() {
        return CheckUserId;
    }

    public void setCheckUserId(Long CheckUserId) {
        this.CheckUserId = CheckUserId;
    }

    @JsonProperty("DelMark")
    public Long getDelMark() {
        return DelMark;
    }

    public void setDelMark(Long DelMark) {
        this.DelMark = DelMark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("Id", getId())
                .append("MedicalId", getMedicalId())
                .append("CheckProjId", getCheckProjId())
                .append("DeptId", getDeptId())
                .append("FromUserId", getFromUserId())
                .append("CreationTime", getCreationTime())
                .append("Position", getPosition())
                .append("CheckState", getCheckState())
                .append("Price", getPrice())
                .append("InspectTime", getInspectTime())
                .append("Result", getResult())
                .append("ResultTime", getResultTime())
                .append("EnterUserId", getEnterUserId())
                .append("CheckUserId", getCheckUserId())
                .append("DelMark", getDelMark())
                .toString();
    }
}

